Imports System.Xml
Imports System.Data.SqlClient
Public Class dAfectacionUnidad
    Public Function Insertar(ByVal CodigoOrdenServicio As Long, ByVal CodigoUnidad As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        Parametros.Add(New SqlParameter("@pECodigoUnidad", CodigoUnidad))
        Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If
        Return dConexion.ABM("STORE_TblAfectacionUnidadAlta", Parametros)
    End Function
    Public Function Eliminar(ByVal CodigoOrdenServicio As Integer) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        Return dConexion.ABM("STORE_TblAfectacionUnidadEliminar", Parametros)
    End Function
    Public Function Modificar(ByVal CodigoOrdenServicio As Long, ByVal CodigoUnidad As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If CodigoUnidad <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoUnidad", CodigoUnidad))
        End If
        If AfectacionDesde <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        End If
        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If

        Return dConexion.ABM("STORE_TblAfectacionUnidadModificar", Parametros)
    End Function
    Public Function Buscar(ByVal CodigoOrdenServicio As Long, ByVal CodigoUnidad As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If CodigoUnidad <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoUnidad", CodigoUnidad))
        End If
        If AfectacionDesde <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        End If
        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If
        Return dConexion.Consultar("STORE_TblAfectacionUnidadBuscarFiltrado", Parametros)
    End Function
    Public Function Listar() As DataSet
        Return dConexion.Consultar("STORE_TblAfectacionUnidadBuscarFiltrado", New ArrayList)
    End Function
    '....Lista unidades Afectadas
    Public Function ListarUnidadesAfectadas(ByVal CodigoOrdenServicio As Long, ByVal CodigoUnidad As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If CodigoUnidad <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoUnidad", CodigoUnidad))
        End If
        If AfectacionDesde <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        End If
        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If
        Return dConexion.Consultar("STORE_TblUnidadesAfectadas", Parametros)
    End Function

    Public Function Existe(ByVal codigoUnidad As Long) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pEcodigoUnidad", codigoUnidad))
        Return dConexion.Consultar("store_tblafectacionunidaddisponibles", Parametros).Tables(0).Rows.Count > 0
    End Function

    
End Class
